nexus\api\event/
extras.rs1use super::Event;
4use arcdps::{
5 extras::{
6 keybinds::RawKeybindChange, message::SquadMessage, user::to_user_info_iter, UserInfo,
7 UserInfoIter,
8 },
9 Language,
10};
11
12pub const EXTRAS_SQUAD_UPDATE: Event<SquadUpdate> =
14 unsafe { Event::new("EV_UNOFFICIAL_EXTRAS_SQUAD_UPDATE") };
15
16#[derive(Debug, Clone)]
18#[repr(C)]
19pub struct SquadUpdate {
20 pub users: *const UserInfo,
21 pub count: u64,
22}
23
24impl SquadUpdate {
25 #[inline]
26 pub fn iter(&self) -> UserInfoIter<'_> {
27 unsafe { to_user_info_iter(self.users, self.count) }
28 }
29}
30
31pub const LANGUAGE_CHANGED: Event<Language> =
33 unsafe { Event::new("EV_UNOFFICIAL_EXTRAS_LANGUAGE_CHANGED") };
34
35pub const KEYBIND_CHANGED: Event<RawKeybindChange> =
37 unsafe { Event::new("EV_UNOFFICIAL_EXTRAS_KEYBIND_CHANGED") };
38
39pub const CHAT_MESSAGE: Event<SquadMessage> =
41 unsafe { Event::new("EV_UNOFFICIAL_EXTRAS_CHAT_MESSAGE") };